#include <stdio.h>

void reverse(int *str, int size);
void swap(int *a, int *b);
void print(int *a, int count);

int main() {

	int a[4][4];
	int i;
	for (i = 0; i < 4 * 4; i++) scanf("%d", &a[i / 4][i % 4]);
	print(a, 4);
	printf("\n");
	reverse(a, 4);
	print(a, 4);

	return 0;
}

void reverse(int *a, int count) {
	int i, j;
	for (i = 0; i < count; i++)for (j = 0; j < i; j++)swap(&a[i*count + j], &a[j*count + i]);
}

void swap(int *a, int *b) {
	int c;
	c = *a;
	*a = *b;
	*b = c;
}

void print(int *a, int count) {
	int i, j;
	for (i = 0; i < count; i++) {
		for (j = 0; j < count; j++) printf("%d\t", a[i*count + j]);
		printf("\n");
	}
}
